V2 Stage 2 - Branding and Background Manager (Verified Static Build)

This build keeps the original user/dashboard layout and adds Stage 2 branding controls:
- User background upload/replace with Fixed, Random, and Slideshow modes.
- Main card logo upload replacing the original logo placeholder.
- Separate left/background logo upload.
- Editable background logo text line 1, text line 2, and bottom text.
- Three option image upload slots with auto-fit images that are not clickable.
- Editable option text fields.

Verification completed in this package:
- PHP syntax check passed for every PHP file.
- Stage 2 helper functions are present and linked:
  safe_asset_upload, available_backgrounds, background_urls_for_js,
  card_logo_html, background_branding_html, option_image_html.
- Upload validation allows JPG, JPEG, PNG, WEBP, and safe SVG files.
- Image display uses object-fit: contain to prevent stretching.
- Background display uses cache-busting version strings to avoid stale images.

After upload to hosting:
1. Import/update schema.sql if needed.
2. Make sure uploads/ is writable.
3. Open admin/settings.php to change backgrounds, logos, text, and option images.
